GDB 用法之显示寄存器

本文介绍了使用GDB调试器查看和解析程序执行过程中的寄存器和内存内容的方法,包括使用`inforeg`查看寄存器、`p`和`x`命令显示不同格式的寄存器值以及内存区域的数据。通过这些命令,开发者可以深入理解程序运行状态,定位问题所在。
摘要由CSDN通过智能技术生成

    info reg可以显示寄存器内容。

    在寄存器名之前加$可以显示寄存器内容,

        p $寄存器:显示寄存器内容

        p/x $寄存器:十六进制显示寄存器内容。

    用x命令可以显示内容内容,"x/格式 地址"。

        x $pc:显示程序指针内容

        x/i $pc:显示程序指针汇编。

        x/10i $pc:显示程序指针之后10条指令。

        x/256wx 0xffffe1e0:从0xffffe1e0开始以16进制打印256个word。

        x/10w $esp        // 显示栈里的10个数据,其中左边第一列是栈地址。
        
        x/s 0x0803020a    // 栈中字符串格式的内存地址(指针)
        x/s $rdi

        x/5i 0x0803020a    // 显示出这个地址开始的指令

        x/10g $rsp        // 显示栈中的数值,g 代表 giant words.

(gdb) info reg
rax            0x11                17
rbx            0x555555555210      93824992236048
rcx            0x555555555210      93824992236048
rdx            0x0                 0
rsi            0x7fffffffe1e8      140737488347624
rdi            0x1                 1
rbp            0x7fffffffe0f0      0x7fffffffe0f0
rsp            0x7fffffffe0d0      0x7fffffffe0d0
r8             0x0                 0
r9             0x7ffff7fe0d50      140737354009936
r10            0x27                39
r11            0x2                 2
r12            0x555555555080      93824992235648
r13            0x7fffffffe1e0      140737488347616
r14            0x0                 0
r15            0x0                 0
rip            0x5555555551ae      0x5555555551ae <main+69>
eflags         0x206               [ PF IF ]
cs             0x33                51

(gdb) p $rbp
$4 = (void *) 0x7fffffffe0f0
(gdb) p/x $rsp
$5 = 0x7fffffffe0d0
(gdb) x $rsp
0x7fffffffe0d0: 0x00000000
(gdb) x/i $rsp
   0x7fffffffe0d0:      add    %al,(%rax)
(gdb) x/10w $rsp
0x7fffffffe0d0: 0x00000000      0x00000000      0x00000011      0x00005555
0x7fffffffe0e0: 0xffffe1e0      0x00007fff      0x1c51fd00      0xb9db1d2d
0x7fffffffe0f0: 0x00000000      0x00000000

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值